perm filename PAPERA.3[DOC,TOB] blob
sn#025114 filedate 1973-02-12 generic text, type T, neo UTF8
00100 Computer visual perception concerns visual systems for function of an
00200 organism such as a robot. We want to manipulate or avoid objects, not
00300 just classify them. Thus, we need their spatial relations, and
00400 three-dimensional interpretations. A typical task is: describe the
00500 bodies in a scene, and describe their relations. The choice of
00600 problems is important in the evolution of a discipline; for our
00700 purposes, the character recognition paradigm is inadequate,
00800 suggesting the wrong value judgments.
00900
01000 Why should we be concerned with research in visual perception?
01100 Because of its enormous implications for productivity. Because of
01200 the importance of such problems in AI, learning and computer science
01300 in general. And because of the significance for the understanding
01400 of biological systems. Many of us now believe that robotics will
01500 ultimately transform much of industry; we cannot estimate how rapidly
01600 this change will happen, but we expect a beginning within a decade,
01700 and considerable effect over a few decades. Initially, touch,
01800 simple vision and computer control can incrementally improve
01900 industrial manipulators which now have no sensing and no contingency
02000 actions. In the industrial context, visual feedback functions in
02100 constrained situations, with known objects and background, and
02200 approximately known position and orientation, for alignment of screws
02300 with holes, mating surfaces, etc. Not only is this problem area
02400 of technological importance, but visual feedback is a useful paradigm
02500 for research. Current efforts in artificial intelligence
02600 concentrate on goal-oriented visual systems which take advantage of
02700 knowledge of the environment.
02800
02900 Even if programming of robots is difficult, there will be many
03000 applications for which it is useful to stockpile programs of
03100 production operations rather than stockpile parts. But for ultimate
03200 impact, the programming of assembly devices must be made simple and
03300 rapid. Programming an assembly robot can be done on a central
03400 time-sharing computer facility with large memory, file storage,
03500 advanced languages and graphics. That system could be an internal
03600 system for scheduling and production control, or an external service.
03700 Thus, the whole of AI research is available for application, and the
03800 most sophisticated robotics research is relevant.
03900
04000 But on a broader scale, the computerization of industry will affect
04100 production on a shorter time scale and equally profoundly. The
04200 problems under consideration in AI and the representations of shape
04300 and space which are evolving, have great relevance to the impact of
04400 information science on production. The most far-reaching
04500 consequences will come from intellectual economies of scale which
04600 follow from systematizing production control, from modularization and
04700 commonality of parts and operations, typified by the "group
04800 technology" approach of Opits. In this analysis, parts are coded by
04900 descriptors; facilities are reorganized to produce similar elements
05000 in the same facilities. More generally, the availability of design
05100 records makes possible identification of common parts and processes,
05200 and possibility for redesign. These abilities rest upon facilities
05300 for design automation, description of parts and objects,
05400 communication and filing, scheduling, routing, and sensing and
05500 monitoring of production. In these tasks and the programming of
05600 assembly robots, representation and description of objects is a
05700 problem of great importance.
05800
00100 Roberts [] work opened the field and set several important directions
00200 for future research:
00300 the problem chosen was perception of three-
00400 dimensional objects;
00500 a complete system went from image input to display
00600 of internal descriptions;
00700 descriptions of objects were built up from volume
00800 models, a block, a wedge, and a hexagonal prism.
00900 The system assumed it would first obtain perfect line drawings, then
01000 interpret them. A number of passes transformed line fragments based
01100 on the gradient into chains of fragments, extended in both directions
01200 by sequential rms line fit which segmented at corners. Lines ending
01300 near other lines were joined at vertices. Model points were matched
01400 with topologically equivalent image vertices by translation,
01500 rotation, and scaling, followed by a perspective camera transform.
01600
01700 That system organization has proven inadequate in usual cases. In
01800 other studies, such techniques encounter difficulties at every stage
01900 of the sequence: lines for which no fragments are found, lines from
02000 shadows and reflections, garbled line drawings from gradient data
02100 that look adequate to the eye, errors compounded at each pass. How
02200 can we improve the versatility and reliability of such a system? It
02300 is not enough to improve the individual modules themselves; so long
02400 as errors compound, only perfect modules will do. Instead, a) use
02500 partial results to guess new tests; for example, at vertices, check
02600 to see whether one line continues; or guess missing lines from a
02700 partial line drawing and verify. b) use high level knowledge and
02800 models to aid the low-level operation. c) use a variety of sensory
02900 information to determine consistency or contradiction. Use color,
03000 stereo, motion, shading. d)improve the modules. The first three
03100 provide alternatives, and thus require decisions of consistency or
03200 contradiction.
03500
03600 Minsky and Papert [Minsky 1972] have described the central issues and
03700 relevance of vision in artificial intelligence. Some primary issues
03800 are:
03900 symbolic descriptions of facts and procedures
04000 manipulation of descriptions
04100 heterarchical control structures.
04200 Heterarchical systems are still in evolution; the aim of such systems
04300 is to break the pass-oriented structure of systems such as described
04400 above, to involve knowledge from the high level to guide low-level
04500 operations, and use partial knowledge at any phase of perception to
04600 draw hypotheses which control subsequent perception. Winston []
04700 has described some desiderata for such systems. Some examples appear
04800 later.
04900
00100 Roberts used concavities and T vertices to guess at obscured and
00200 unobscured faces of plane-faced objects. Guzman went beyond matching
00300 models and was able to separate objects in complex scenes of
00400 plane-faced objects. He used local evidence from Y and arrow vertices
00500 to link regions which might belong to the same body. Regions linked
00600 twice were joined into bodies; any regions linked twice to these
00700 clusters of regions were also joined, etc. Double linking reduced
00800 the error rate but missed some regions which should have been joined.
00900 Some were joined by another step, uniting regions linked only to one
01000 other region. Although it was not stated thus, links were formed at
01100 vertices with three lines if they were not a T (indicating
01200 obscuration), between those regions without concavities at the vertex
01300 (some were inhibited using knowledge about the background given by
01400 the user). Eentually, a refinement was added to inhibit links when
01500 the next vertex along the common edge is concave or colinear for one
01600 of the regions. Thus, the program was heavily based on concavity.
01700 All but two of the objects used by Guzman were right prisms, so that
01800 special case techniques could have worked well. Other links were
01900 introduced, without much motivation. It did surprisingly well, but
02000 had problems with holes and other non-convexities, and with
02100 accidental alignment. It depended on being told the background, and
02200 the techniques did not extend very far, despite considerable effort.
02300 The program was based on some well-motivated ideas, but they formed a
02400 recipe, not an understanding of the problem. Among the extensions
02500 were Orban's program to remove shadows from a scene, using
02600 observations about peculiarities of shadow vertices, sequences of L's
02700 and X's. Rattner introduced some vertex types unused by Guzman as
02800 splitting vertices for separating bodies. Winston used the output
02900 of Guzman's program to find relationships of above, below, in front
03000 of, left and right.
03100
03200 Huffman and Clowes independently analyzed trihedral vertices seen
03300 from non-singular perspective (no infinitesimal change of viewing
03400 position would change the number of visible lines); by classifying
03500 the edges as convex, concave, and obscuring, they could enumerate
03600 just 12 such vertices. For isolated objects with known background,
03700 it was possible to get labellings for possible objects, and reject
03800 some drawings as impossible under the assumptions. Some other
03900 interesting results were obtained.
04000
04100 Falk's work combined features of Roberts and Guzman's programs. He
04200 made a body segmentation based on heuristic such as Guzman used, but
04300 instead of collecting regions into bodies, he joined lines into
04400 bodies. Since missing edges cause regions to be non-planar, some
04500 errors made by joining regions were avoided. Support and occlusion
04600 were determined by heuristics from the body edges. Edges were
04700 extended to complete faces if possible. Objects were matched against
04800 a set of models by first choosing objects whose support was the
04900 table, and using their known size to compare with models having fixed
05000 sizes. Then other objects' sizes were determined from successive
05100 support relations. Hidden line elimination techniques were used to
05200 test whether the fit was adequate, and whether missing lines should
05300 be predicted for verification.
05400
05500
05600 Waltz expanded that labelling of lines to include convex,concave,
05700 convex obscuring, crack, shadow, and concave obscuring. Each line
05800 was labelled according to the illumination: illuminate, self-shadowed
05900 (facing away from the source), shadowed by obscuration. Of the many
06000 possibilities for the lines at a vertex, only a small fraction are
06100 actually consistent. Many fewer interpretations are possible for
06200 which adjacent vertices have consistent interpretations for shared
06300 lines. It would seem that such large numbers of possible
06400 interpretations would be unmanagable; instead, the increased
06500 precision of descriptions allows very rapid discarding of wrong
06600 interpretations, so that the process allows very quick solutions. The
06700 procedure was initially regarded as a tree search; however, an
06800 initial filtering was introduced to minimize the combinatorial
06900 explosion of the search process. The filter process consisted of
07000 taking the intersection of the possible labels for common lines
07100 between any two vertices. The filter process in itself was adequate
07200 without the tree search. The process is reasonably fast, and finds
07300 all interpretations; some heuristic preference rules allow choosing
07400 most reasonable interpretations. The program succeeds with holes and
07500 shadows. It does depend on being told which regions are the table;
07600 it is not clear how important that limitation is. The program does
07700 give a good analytic understanding of the process of interpreting
07800 line drawings, and represents a significant advance.
07900
00100 LEARNING
00200
00300 Learning is description. The ideas of learning current in computer
00400 perception differ from those of pattern recognition or game playing,
00500 which might be called statistical learning. The paradigm in statistical
00600 learning is that given enough trials, the weights of some coefficients
00700 will slowly change to values which minimize some loss function. The
00800 model for learning which is current in machine perception is that
00900 learning is building and manipulating descriptions. The descriptions
01000 are symbolic; the function of training samples is very different.
01100 from that of statistical learning. Here, one sample may cause a
01200 qualitative change in the description; the function of a teacher is
01300 to choose examples which guide the formation of descriptions.
01400 Winston [] has demonstrated a learning program which uses descriptions
01500 of line drawings of polyhedra. Relations including supports/supported-by,
01600 left-of/right-of, in-front-of/behind, abuts, combined with object
01700 names for block, wedge, are used for graph structured descriptions.
01800 Set membership and must-have/must-not-have modifiers for relations are
01900 elements in the description. An essential element is a "near-miss"
02000 example. Given a model of a geometric structure, eg an arch, the
02100 machine is given an example of a non-arch, with the supports contacting.
02200 The model is contrasted with the description of the near-miss, a
02300 difference description is constructed, and the important difference
02400 is guessed by heuristics.
02500 In this case, the model is modified to include the condition that the
02600 supports must not contact. Grouping relations are added to increase
02700 the power of the descriptive mechanism.
00100 For what sorts of scenes can current programs obtain reasonable line
00200 drawings? For scenes of untextured polyhedra. What are the
00300 problems? There are problems at corners and wherever high resolution
00400 is necessary, with segmenting of curved edges, with textured
00500 surfaces, with speed, and with adequate sensors. What improvements
00600 are possible? Better use of high level knowledge, use of organization
00700 based on proximity, increased computing power, better low level
00800 descriptions, better analysis of these descriptions. We err in
00900 separating the low level parts of a system which deal with image
01000 quantities (light intensities, lines, corners) from the high level
01100 parts of a system which deal with object descriptions. The goal of
01200 such a split is the perfect line drawing. That is unattainable: a)
01300 Not all lines are visible easily. Illumination may be equal on both
01400 sides of an edge. b) Typically, there is vastly more edge
01500 information than just those lines which delineate boundaries of
01600 objects. Not all intensity discontinuities are surface
01700 discontinuities (shadows, reflections, surface markings).
01800 Textured scenes contain enormous numbers of edges. c) given
01900 visual resources there is always a benefit in subdividing effort into
02000 general orientation and warning functions, and guided foveal
02100 concentration using context for goal-directed perceptual activity.
02200
02300 If we use strictly image information, we attempt to see light
02400 intensity discontinuities (edges) to infer surface discontinuities.
02500 Usually, local operators are used to find fragments of an edge (small
02600 enough to be locally straight). Modules may also look for regions of
02700 like points. They must then distinguish when points are unlike the
02800 region; ie, they must detect discontinuities just as edge detection
02900 does. How can we describe discontinuities? They should be
03000 directional and extended. There must be a range of sizes of operators
03100 to allow for both high resolution features and low resolution
03200 features (diffuse edges in xrays). The gradient is not an
03300 adequate measure of discontinuity; the human visual system does not
03400 find edges at smooth gradients. There are many smooth surfaces with
03500 large gradients because of reflection and curvature.
03600
03700 Roberts used a gradient operator. Hueckel used a few moment
03800 coefficients to fit a best step, thus imposing directionality
03900 conditions. In practice, large gradients at reflections cause masses
04000 of spurious edge fragments. Binford eliminated the gradient problem
04100 by subtracting the local average at each point, then applying
04200 operators in a few directions using the average gradient.
04300 Bio-modeling was strictly avoided, although that is similar to
04400 biological systems. Edges were extended by an optimal curve
04500 sequential decision process. Each unterminated tentative edge was
04600 tested at each extension; a curve with locally maximal contrast was
04700 found near the predicted curve. Continuity of direction and
04800 contrast were evaluated to decide whether to extend or terminate.
04900 If terminated, the contrast of the optimal curve was evaluated to
05000 keep or discard. If kept, the curve was backed up by sequential
05100 decision to a best termination. Its intent was to examine the
05200 hypothesis given by the local edge operator, and to reject or confirm
05300 by extension. Edges were thus extended past small gaps or portions
05400 with weak signal. A non-linear contrast weighting was used which
05500 minimized the effect of small surface markings. Thresholds were
05600 calculated in advance.
05700
05800 Rosenfeld describes efficient gradient operators of various sizes.
05900 Martelli has made an optimal curve search as a means of edge-finding;
06000 it may be useful if we find adequate descriptions of continuous
06100 curves for the evaluation function.
06200
06300 Regions can be defined by brightness, color, textural properties,
06400 depth, etc. A region is surrounded by non-region points (edge
06500 points). Thus, they resemble edge-oriented methods. Region-oriented
06600 systems have been completed by Binford [], Fenema and Brice [],
06700 Barrow [], and Krakauer []. Most used grey level contours which are
06800 inadequate for the same reasons as the gradient. Binford
06900 [unpublished] and Bajcsy [] have made color region finders.
07000
07100 Edge Organization
07200
07300 It is a long hard process to go from local edge fragments or regions
07400 to complete line drawings. Roberts [] passed operators over the
07500 entire set of tentative edges, defining longer lines, then segmenting
07600 by line fitting. Nearby ends of lines were linked at vertices. Horn
07700 [] used similar techniques with many improvements, particularly in
07800 vertex determination. An edge follower has been made by Pingle [].
07900
08000 In what way can knowledge improve this performance? The TOPOLOGIST
08100 proposed missing edges from partially completed drawings. Herskovits
08200 line verifier sensitively tested such predictions. Shirai began with
08300 scenes for which the contrast of objects with background was large
08400 (black background). At vertices, the extension of boundary lines was
08500 tested. Internal lines were tested for. Completions for
08600 unterminated lines were searched for. The use of context involved
08700 not changing thresholds, but using special-purpose operators: verify
08800 a line along at known position and angle; find termination of a line;
08900 find a line through a point but with unknown angle. The best
09000 performance is given by Shirai's system and by the Binford-Horn line
09100 finder, which is able to find most lines without attention to
09200 lighting, in a scene of white blocks on a white background. It
09300 misses a few lines which are found by subsequent prediction and
09400 verification, and garbles some vertices. Shirai's system performs
09500 much better. It requires large background contrast however, and
09600 misses some objects for which no cues are available. The
09700 combination of the two allows adequate (not necessarily perfect)
09800 construction of line drawings of polyhedra.
09900
10000 There has been a large amount of work on texture considered as a
10100 two-dimensional problem, for agricultural surveys and earth
10200 resources. Bajcsy [] has considered textures in outdoor scenes as a
10300 three- dimensional problem; a representation for texture was made,
10400 descriptors for texture elements were analyzed from the Fourier
10500 transform the directionality, size and spacing of repeated linear
10600 elements were obtained from the Fourier transform, and some
10700 descriptors were obtained for non-directional elements. Color and
10800 texture regions were obtained; texture gradients and a world model
10900 for some outdoor scenes were used to explore higher level perception
11000 of these scenes.
11100
12000 Consider orders of magnitude for computing time for a computer visual
12100 system. Current perception is quite inadequate, but the low level
12200 operations require about 150 usec per point (in machine code on a
12300 PDP-10 class machine). A typical image has 80,000 pts; multiply by 2
12400 for stereo and 2 for color to find about 50 seconds per stereo color
12500 image to accomplish edge or region finding over the whole image.
12600 Stereo correlation involves a minimum of 8 minutes per color image.
12700 Current programs are much slower than these minimum estimates. Higher
12800 level languages would be a factor of 5 slower. The biological system
12900 does the equivalent in about 1/10 th second, or about a factor of 500
13000 faster, with a factor of 10 more retinal elements. What hardware
13100 improvements can we expect reasonably now? If we assume 10
13200 arithmetic elements with 8 bit multiply in 50 nsec, correlation and
13300 other typical low-level operations gain a factor of 1000 in speed.
13400 That device might not be as useful for other visual operations. Such
13500 a device is not expensive in parts, now, and is potentially quite
13600 inexpensive with large scale integration.
13700
13800 Such increases in hardware speed are necessary; equally necessary
13900 are the increases which come from sampling and preview functions,
14000 and goal-directed activity. Most vision eventually functions in
14100 continuous perception. Scenes change very little; current knowledge
14200 of the scene enables intelligent choice of tracking changes with
14300 little effort, and solving problems with goal-directed activity.
00100 Representation
00200
00300
00400 We will describe work toward implementing symbolic
00500 descriptions of shape which are adequate for typical robot tasks
00600 such as manipulation, collision avoidance, display, and recognition.
00700 Although many would disagree with our criteria, the design criteria
00800 were:[]
00900 a) Representations should symbolic at a high level in order
01000 to interface with heuristics of the problem domain.
01100 b) Representations should depend on segmentation into parts,
01200 which may have subparts
01300 c) Primitives should be three-dimensional volume primitives.
01400 This is motivated by realizability of objects.
01500 d) Descriptions should be generative. A modest collection of
01600 primitives should allow description of a vast set of objects.
01700
01800 Figures show experimental results of computer descrition of some
01900 objects []. They give some indication of the primitives of the
02000 representations, and their power, even with preliminary programs.
02100 The representations [Binford 1971] depend upon segmentation to
02200 describe complex objects in terms of parts. The representations
02300 are grqph-structured. Parts are structures of the same form.
02400 The utility of these representations lies in a choice of primitives
02500 which allows a natural choice of parts. Cutting and pasting are
02600 used in joining parts. Primitive parts are described by
02700 "generalized local translational invariance", a formal construction
02800 for generalized cones, generalized helices, and generalized torii.
02900 The basis for the representation is the transformation of cross sections
03000 which are normal to a space curve (the axis) along which the cross
03100 sections are translated.
03200